Large-scale, network-based computing represents a paradigm shift from traditional client-server computing relationships. With large-scale, network-based computing platforms (e.g., data centers), customers are able to leverage shared resources on-demand by renting resources that are owned by third parties and that reside “in the cloud.” With these resources, customers of the platform are able to launch and maintain large applications without actually owning or servicing the underlying infrastructure necessary for these applications. As such, network-accessible computing platforms, often referred to as “cloud-computing platforms” or “cloud-computing environments,” have expanded the class of individuals and companies able to effectively compete in the realm of computing applications.
Generally, customers of a network-based computing platform run large applications within the network-based computing platform through the use of one or more virtual machine instances (VMI). VMIs can be created by the network-based computing platform in response to requests from customers. Some customer use-cases may require VMIs to have near 100% uptime, and thus, malfunctions or failures of the underlying computer servers used to host VMIs may have serious repercussions to these customers.
However, just like the hardware and software on personal computers, the hardware and/or software on the servers that run VMIs on behalf of customers need to be updated and maintained. Typically, this is accomplished through taking significant and invasive actions which can affect the VMI; however, this causes a problem when a customer's VMI may be in continual use and the service provider has made guarantees around availability.